Soru & Cevap

Android Json ile birden fazla veri çekmek ?

31.10.2016 - 03:49

Merhaba, 

Anroid jason ile parms kulanarak veri çekmeye çalışyorum fakat öğrendiğim yol ile sadece 1 adet veri çekebiliyorum. 1 den fazla veri çekebilmek için yazılıma ne eklemem gerek yardımcı olabilirseniz sevinirim iyi çalışmalar. 

 

 TextView tvData;
    JSONObject json;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        tvData = (TextView) findViewById(R.id.tvData);
        new League().execute("text");


    }

    protected JSONObject readLeagueofscript() throws ClientProtocolException, IOException, JSONException {

        HttpClient client = new DefaultHttpClient();
        HttpGet get = new HttpGet(URI);
        HttpResponse response = client.execute(get);
        StatusLine status = response.getStatusLine();
        int s = status.getStatusCode();

        if (s ==200)
        {

            HttpEntity e = response.getEntity();
            String data = EntityUtils.toString(e);
            JSONArray post = new JSONArray(data);
            JSONObject last = post.getJSONObject(0);
            return last;

        }
        return null;
    }
    public class League extends AsyncTask<String, String, String>{

        @Override
        protected  String doInBackground(String... params){
            try {
                json = readLeagueofscript();
                String veri1 = json.getString(params[0]);
                //Türkçe Kelimeler Ekleniyor (ç Ç Ã§,Ç) (ı İ Ä±,Ä°) (ü Ü Ã¼,Ü) (ğ Ğ ÄŸ,Ğ) (ö Ö Ã¶,Ö) (ş Ş ÅŸ,Ş şŸşž)
                // ç Ç Ã§,Ç
                veri1 = veri1.replace("ç","ç").replace("Ã\u0087","Ç").replace("ı","ı").replace("Ä°","İ").replace("ü","ü").replace("Ã\u009C","Ü")
                        .replace("Ä\u009F","ğ").replace("Ä\u009E","Ğ").replace("ö","ö").replace("Ã\u0096","Ö").replace("Å","ş").replace("Å\u009E","Ş")
                                .replace("ş\u009F","ş").replace("ş\u009E","Ş");
                //Türkçe Kelimeler Eklendi
                return  veri1;


            }
            catch (IOException e) {
                e.printStackTrace();
            } catch (JSONException e) {
                e.printStackTrace();
            }
            return null;

        }
        @Override
        protected void onPostExecute(String veri1) {
            tvData.setText(veri1);
        }

 

52 Görüntülenme

1 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

Profile picture for user betulylmzr
betulylmzr
31.10.2016 - 12:14


çünkü bir tane veri çekiyorsunuz.String veri1 = json.getString(params[0]); bu kodu for döngüsü ile verileri yazdırmanız gerekli. int count = params.length; String veri= 0; for (int i = 0; i < count; i++) { veri= json.getString(params[i]); } return veri; Ama artık AsyncTask yerine Volley ile json parse ederseniz aradaki hız farkını görebilirsiniz.Volley daha hızlı verileri servisden çekiyor bilginize Birden fazla veriden kasıt ad,soyad,yas vb ise https://www.mobilhanem.com/android-http-post-ve-json-parse-etme/ bu linke bakabilirsiniz.Veriyi log da tutup runOnUiThread(new Runnable() {public void run() { Thread ile çekebilirsiniz